맨위로가기

시스템 아키텍처

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

시스템 아키텍처는 시스템의 구성 요소, 상호 관계, 외부 환경과의 관계, 설계 및 진화 관리 원칙 등을 포괄하는 시스템의 기본 조직을 나타낸다. 이는 하드웨어 및 소프트웨어 구성 요소의 기능 매핑, 요소 간의 정보 전달, 그리고 시스템과 사용자 간의 인터페이스를 포함하며, 시스템 전체의 구조를 개괄적으로 보여주는 "개략 설계도"와 같다. 시스템 아키텍처는 제조, 사회, 소프트웨어, 정보 기술 시스템 등 다양한 분야에 적용되며, 정보 시스템 아키텍처는 IT와 비즈니스에 정통한 시스템 아키텍트가 작성한다.

더 읽어볼만한 페이지

  • 시스템 공학 - 물류
    물류는 고객의 요구를 충족시키기 위해 재화, 서비스 및 관련 정보를 발생 지점에서 소비 지점까지 계획, 실행, 통제하는 과정이며, 전자상거래 발달과 함께 전자 물류의 중요성이 커지고 물류 자동화 및 시스템, 교육 기관들이 발전하고 있다.
  • 시스템 공학 - 제어 시스템
    제어 시스템은 시스템의 출력을 원하는 값으로 유지하거나 목표를 달성하기 위해 동작을 조절하는 시스템으로, 다양한 제어 방식과 기법, 하드웨어를 통해 구현되어 소형 장치부터 대규모 산업 공정까지 광범위하게 사용된다.
  • 소프트웨어 구조 - Ajax
    Ajax는 웹 페이지 전체를 새로고침하지 않고 비동기적으로 서버와 통신하여 웹 애플리케이션의 일부를 업데이트하는 웹 개발 기술로, XMLHttpRequest 객체의 등장으로 가능해졌으며 HTML, CSS, DOM, JavaScript, JSON 등의 기술을 통합하여 동적인 사용자 인터페이스를 구현한다.
  • 소프트웨어 구조 - 멀티테넌시
    멀티테넌시는 단일 애플리케이션 인스턴스로 여러 고객에게 서비스를 제공하여 SaaS 및 클라우드 환경에서 비용과 관리 효율성을 높이고 데이터 활용 가치를 창출하는 소프트웨어 아키텍처 방식이다.
시스템 아키텍처

2. 정의

시스템 아키텍처는 다양한 관점에서 정의될 수 있지만, 공통적으로 다음과 같은 핵심 요소를 포함한다.


  • 시스템의 구성 및 동작 원리를 나타낸다.[22]
  • 시스템 구성 요소(부품)에 대해 설계 및 구현을 지원하는 수준으로 자세히 기술된다. (IEEE 1471 및 TOGAF)[23]
  • 구성 요소 간의 관계 및 시스템 외부 환경과의 관계가 묘사된다.[23]
  • 요구 사양 및 시스템의 라이프 사이클 전체를 고려한다.[24][25]
  • 시스템 전체(하드웨어와 소프트웨어를 포괄)에 대한 논리적인 기능 체계와 그것을 실현하기 위한 구성 방식. 시스템의 전체적인 최적화를 목표로 한다.


또한, 실제적인 정의로, 어떤 구체적인 컴퓨터 시스템(기업 내 정보 시스템 등)의 조직과 장기적인 개선 계획을 시스템 아키텍처라고 하는 경우도 있다.[27]

시스템 아키텍처는 기존 또는 새로운 시스템을 표현하는 것이며, 그 디자인을 효율적으로 구현하기 위한 기본 원리와 과정이 묘사된다. 시스템 아키텍처는 시스템 구성 요소들의 정보 전달, 요소 간의 관계, 그리고 그 관계에 적용해야 할 규칙을 나타낸다. 또한, 시스템 아키텍처는 시스템을 창출(개혁)하는 과정에서 시스템 디자인에 대한 제약이며, 실제로 설계 및 구현을 수행하는 사람에게 효율적인 기술을 전달하는 지식 전달 수단 또는 규범이다.

다양한 조직은 시스템 아키텍처를 다음과 같이 정의할 수 있다.

  • 시스템의 기본 조직으로, 구성 요소, 서로 간의 관계, 환경과의 관계, 설계 및 진화를 관리하는 원칙을 포함한다.[5]
  • 하드웨어 및 소프트웨어 구성 요소에 대한 기능 매핑, 소프트웨어 아키텍처에서 하드웨어 아키텍처로의 매핑, 그리고 이러한 구성 요소와의 인간 상호 작용을 포함하는 시스템의 표현.[6]
  • 기능 아키텍처 및 요구 사항 기준의 요구 사항을 충족하도록 설계된 소비자 제품 또는 수명 주기 프로세스에 대한 설계 솔루션을 제공하는 물리적 요소의 할당된 배열.[7]
  • 아키텍처는 전반적인 구조(예: 필수 요소와 그 관계) 및 관련 특성 및 동작에 대한 가장 중요하고, 광범위하며, 최고 수준의 전략적 발명, 결정 및 관련 근거로 구성된다.[8]
  • 컴퓨터 시스템의 설계 및 내용에 대한 설명이다. 문서화된 경우, 현재 하드웨어, 소프트웨어 및 네트워킹 기능에 대한 자세한 목록, 향후 구매에 대한 장기 계획 및 우선 순위에 대한 설명, 구식 장비 및 소프트웨어 업그레이드 및/또는 교체 계획 등을 포함할 수 있다.[9]
  • 시스템에 대한 공식적인 설명 또는 구현을 안내하기 위한 구성 요소 수준의 시스템 상세 계획.[10]
  • 제품 및 수명 주기 프로세스에 대한 설계 아키텍처의 조합.[11]
  • 구성 요소의 구조, 상호 관계, 그리고 시간 경과에 따른 설계 및 진화를 관리하는 원칙 및 지침.[12]


시스템 아키텍처는 기존(또는 미래) 시스템의 일련의 표현으로 생각할 수 있다. 이러한 표현은 처음에 일반적이고 높은 수준의 기능적 조직을 설명하며, 점차 더 상세하고 구체적인 설명으로 개선된다.

시스템 아키텍처는 시스템을 구성하는 요소의 정보 내용, 해당 요소 간의 관계, 그리고 해당 관계를 관리하는 규칙을 전달한다. 아키텍처 설명은 하드웨어, 소프트웨어, 문서, 시설, 수동 절차 또는 조직이나 사람이 수행하는 역할로 구성될 수 있는 아키텍처 구성 요소와 이러한 구성 요소 간의 관계 집합을 포함한다.

시스템 아키텍처는 주로 시스템의 내부 인터페이스(시스템의 구성 요소 또는 서브 시스템 간)와 시스템과 외부 환경, 특히 사용자 간의 인터페이스에 집중한다. (컴퓨터 시스템의 특정 경우, 이 마지막 특별 인터페이스는 컴퓨터 인간 인터페이스, HCI로 알려져 있다. 이전에는 사람-기계 인터페이스라고 불렸다.)

시스템 아키텍처는 시스템 아키텍처 엔지니어링(SAE)과 대조될 수 있다. 즉, 시스템의 아키텍처를 효과적으로 구현하기 위한 방법과 규율이다.[13]

  • SAE는 집합의 제약 조건 내에서 시스템의 아키텍처를 생성하거나 변경하기 위해 일련의 단계를 규정하기 때문에 ''방법''이다.
  • SAE는 제약 조건 집합 내에서 시스템을 설계하는 가장 효과적인 방법에 대해 실무자에게 사용되기 때문에 ''규율''이다.

3. 배경

디지털 컴퓨터의 발명 이전부터 전자 공학 등 공학에서는 시스템이라는 용어를 일반적으로 사용하였다. 그러나 디지털 컴퓨터가 등장하면서 소프트웨어 공학이 새로운 분야로 발전하였고, 하드웨어소프트웨어를 구분하여 다루게 되었다. 프로그램 가능한 하드웨어, 즉 컴퓨터의 하드웨어는 소프트웨어가 없으면 아무것도 할 수 없고, 소프트웨어는 하드웨어가 없으면 아무것도 할 수 없다. 하지만 하드웨어와 소프트웨어를 잘 조합하면 다양한 작업을 수행할 수 있다. 따라서 컴퓨터와 소프트웨어를 취급하는 공학 분야에서는 "시스템"이라는 용어가 "유용한 기능을 수행하는 데 필요한 모든 요소(즉 하드웨어와 소프트웨어 모두)를 포함하는 것"이라고 다시 정의되었다.

그 결과, 기술 설계 분야에서 시스템이라고 하면 프로그램 가능한 하드웨어 및 프로그램을 일반적으로 가리키게 되었다. 그리고 시스템 엔지니어는 소프트웨어와 하드웨어 모두 포함하는 완전한 기기를 취급하는 사람으로 정의되었다. 실질적으로는 장비(소프트웨어와 하드웨어 간의 인터페이스 포함)의 모든 인터페이스를 취급하는 사람으로서, 특히 장비와 사용자의 인터페이스를 취급하는 사람을 말한다. 시스템 기술자는 소프트웨어와 하드웨어가 잘 맞는지 여부와, 시스템과 외부(사용자 등)의 상호 작용에 신경을 쓴다.

4. 시스템 아키텍처의 유형

시스템 아키텍처는 동일한 기본 원칙에 기반하여 여러 유형으로 나눌 수 있다.[14][15]


  • 하드웨어 아키텍처[16]
  • 소프트웨어 아키텍처[17][18]
  • 전사적 아키텍처[19][20]
  • 협업 시스템 아키텍처 (예: 인터넷, 지능형 교통 시스템, 합동 방공 시스템)
  • 제조 시스템 아키텍처[21]

4. 1. 정보 시스템 아키텍처

정보 시스템 아키텍처는 기업 내 정보 시스템과 같이 복수의 컴퓨터 하드웨어, 소프트웨어, 네트워크 인프라 등으로 구성되는 시스템 전체의 구조와 장기적인 개선 계획을 의미한다.[27]

"시스템 아키텍처"라는 용어는 컴퓨터 관련에 한정된 개념은 아니지만, 정보 시스템과 관련하여 사용되는 경우, 컴퓨터 아키텍처가 일반적으로 컴퓨터 단독의 아키텍처를 지칭하는 데 반해, 시스템 아키텍처의 "시스템"은 복수의 컴퓨터 하드웨어 및 소프트웨어, 네트워크 인프라 등 다양한 요소로 구성되는 시스템 전체를 지칭한다.

시스템의 구성 요소에는 서브 시스템이 포함될 수 있다. 대부분의 경우, 구성 요소 간의 관계는 인터페이스로 기술하며, 환경(외부, 특히 사용자)과의 관계·인터페이스도 기술한다.

정보 시스템의 시스템 아키텍처는 일반적으로 IT와 비즈니스 모두에 정통한 사람들이 작성한다. 시스템 아키텍처를 작성하는 사람들을 '''시스템 아키텍트'''라고 한다. 이들은 조직의 사업 계획 및 사업 목표를 이해하고, 이를 요소로 분해하여 실현하기 위해 여러 IT 기술을 분석·비교한 후 적절한 조합을 제안한다. 시스템 아키텍트는 어떤 시스템이 어느 정도의 부하를 견딜 수 있는지에 대해서도 상당히 자세히 알고 있어야 한다.[28]

5. 시스템 아키텍처의 역할

시스템 아키텍처는 시스템 구축 프로젝트의 기초 및 토대 역할을 수행한다. 대규모 시스템 구축에는 여러 사람이 참여해야 하므로, 시스템 아키텍처를 미리 작성하는 것이 필수적이다.[27]

시스템 아키텍처는 일종의 규칙이자 결정 사항으로 기능한다. 이를 통해 상세 설계나 구현 담당자가 시스템 전체와의 일관성을 잃고 모순되는 세부 사항을 만드는 것을 방지할 수 있다.[27] 즉, 시스템 아키텍처는 상세 설계 및 구현 단계에서 발생할 수 있는 모순을 방지하고, 시스템의 품질을 보장하는 역할을 수행한다.

시스템 아키텍처는 사용자의 요구사항을 명확하게 반영하고, 시스템의 기능 및 성능을 검증하는 기준을 제공한다.

참조

[1] 간행물 Architecture-driven modelling methodologies. IOS Press 2011
[2] 논문 A survey of architecture description languages. http://www.sei.cmu.e[...] IEEE Computer Society 1996
[3] 논문 A classification and comparison framework for software architecture description languages. ftp://ftp.ics.uci.ed[...] 2000
[4] 간행물 The Physical Architecture https://doi.org/10.1[...] Springer International Publishing 2022-12-07
[5] 문서 ANSI/IEEE 1471-2000
[6] 웹사이트 Software Engineering Institute http://www.sei.cmu.e[...] Carnegie Mellon University
[7] 웹사이트 The Human Engineering Home Page's Glossary http://www.manningaf[...] 2015-02-13
[8] 웹사이트 OPEN Process Framework (OPF) Repository http://www.opfro.org[...] 2006-03-05
[9] 웹사이트 The National Center for Education Statistics glossary http://nces.ed.gov/p[...]
[10] 문서 TOGAF
[11] 웹사이트 IEEE 1220-1998 glossary http://www.acq.osd.m[...] osd.mil 2006-05-17
[12] 문서 TOGAF
[13] 문서 The Method Framework for Engineering System Architectures 2008
[14] 웹사이트 The fundamental principles of Systems Architecture http://borisgolden.c[...]
[15] 서적 The Art of Systems Architecture 2002
[16] 서적 From Algorithms to Hardware Architectures https://link.springe[...]
[17] 서적 Software Architecture by Example https://link.springe[...]
[18] 간행물 Software Architecture Evolution and Technology Research Springer International Publishing 2022
[19] 간행물 Enterprise Architecture in a Nutshell https://doi.org/10.1[...] Springer International Publishing 2022-12-07
[20] 간행물 Developing an Enterprise Architecture https://doi.org/10.1[...] Apress 2022-12-07
[21] 학술지 Implementing a system architecture model for automated aircraft cabin assembly processes https://doi.org/10.1[...] 2022-07-01
[22] 웹사이트 http://www.sei.cmu.e[...]
[23] 웹사이트 OPEN Process Framework (OPF) Repository http://www.opfro.org[...]
[24] 웹사이트 OSTJF 용어집 http://www.acq.osd.m[...]
[25] 웹사이트 The Human Engineering Home Page's Glossary http://www.manningaf[...]
[26] 서적 The Art of Systems Architecture 2002
[27] 웹사이트 The National Center for Education Statistics glossary http://nces.ed.gov/p[...]
[28] 웹사이트 BMC, What Does a System Architect Do? https://www.bmc.com/[...]
[29] 간행물 Architecture-driven modelling methodologies. IOS Press 2011



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com